| FlexGrid for UWP/WinRT > FlexGrid の機能 > データのグループ化 |
![]() |
このトピックでは、FlexGridSamples プロジェクトの FlexGridDemo ページにあるコードを使用します。このプロジェクトには、Customer.cs コードファイルも入っています。このプロジェクトは、コンピュータの C:\Users\YourUserName\Documents\ComponentOne Samples\WinRT XAML Phone\C1.Xaml.FlexGrid にインストールされています。 |
C1FlexGrid コントロールでは、C1CollectionView クラスを通してデータのグループ化が行われます。たとえば、顧客リストを含むグリッドでは、C1CollectionView に少しのコードを追加して、顧客を国別にグループ化できます。
| C# |
コードのコピー
|
|---|---|
// 顧客の監視可能なリストを作成します var list = new System.Collections.ObjectModel.ObservableCollection<Customer>(); for (int i = 0; i < 100; i++) list.Add(new Customer()); // リストから C1CollectionView を作成します // (ソート、フィルタ処理、およびグループ化をサポートします) _view = new C1.Xaml.C1CollectionView(list); // 顧客を国別にグループ化します _view.GroupDescriptions.Add(new C1.Xaml.PropertyGroupDescription("Country")); |
|
プロジェクトを実行すると、次の図のような FlexGrid が表示されます。

データ項目が国別にグループ化されています。ユーザーは国名の隣にあるアイコンをクリックまたはタップして、国カテゴリを折りたたんだり、展開することができます。また、列名をクリックまたはタップして、データのソートを制御することもできます。
グループ化を変更する場合は、次のコードで列名を変更するだけです。
| C# |
コードのコピー
|
|---|---|
_view.GroupDescriptions.Add(new C1.Xaml.PropertyGroupDescription("Country")); |
|
顧客の姓でソートする場合は、"Country" を "Last" に変更するだけです。
| C# |
コードのコピー
|
|---|---|
// 顧客の監視可能なリストを作成します var list = new System.Collections.ObjectModel.ObservableCollection< Customer>(); for (int i = 0; i < 100; i++) list.Add(new Customer()); // リストから C1CollectionView を作成します // (ソート、フィルタ処理、およびグループ化をサポートします) _view = new C1.Xaml.C1CollectionView(list); // 顧客を国別にグループ化します _view.GroupDescriptions.Add(new C1.Xaml.PropertyGroupDescription("Last")); |
|
グループ化を変更すると、FlexGrid コントロールは次の図のようになります。
